home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac 1993 September / September 93.iso / Archives / Applications / Graphics / Fractals / IFS / IFS 2.1 Demo docs.txt < prev    next >
Encoding:
Text File  |  1990-07-22  |  14.4 KB  |  343 lines  |  [TEXT/MWII]

  1. 3/3/90  Some notes about the IFS Demo program.
  2.  
  3. ========================================================================
  4.     ABOUT THIS RUN-TIME REVIEW COPY - Version 2.1C for THINK C 4.0
  5. ========================================================================
  6. This run-time version of "IFS Decompression" is provided for your
  7. review as a standalone application.  The source code for EARLIER versions
  8. is available in the 'Mac Programming' section of this on-line information 
  9. service. A more cost effective method (as opposed to paying download charges)
  10. of obtaining this, or the latest version, complete with THINK C 
  11. source code is to register your ShareWare support as instructed in
  12. the 'Mini Advertisement' at the end of this file.
  13.  
  14. ========================================================================
  15.                                                 BASIC PROGRAM DESCRIPTION
  16. ========================================================================
  17. "IFS Decompression" is a graphics program for decompressing a graphic
  18. picture stored in 'Iterated Function System' format. Supports original
  19. style 8 color operations (so it runs on Mac Plus, SE and II).  Included
  20. are a normal Mac verison and a 68881 version to take advantage of the
  21. Mac II's floating point coprocessor to speed up the calculations.
  22.  
  23. ====================================================================
  24.                                              SHAREWARE NOTICE
  25. ====================================================================
  26. PLEASE SUPPORT THE SHAREWARE CONCEPT by honoring the ShareWare fee    
  27. request.  If you use the application or source code for any purpose
  28. I ask that you submit the modest  fee. This small incentive will
  29. encourage further source code distribution.
  30.  
  31. To obtain the latest version of ShareWare source code for this applicaton,
  32. please see the 'Advertisement' at the end of this file.
  33.  
  34. All commercial rights for this application are reserved by the author, 
  35. but the ShareWare source code may be modified for another, unrelated,
  36. application without any further claims from this author.
  37.  
  38. ====================================================================
  39.                                                      DISCLAIMER
  40. ====================================================================
  41. This software is provided as-is and is not guaranteed to operate    
  42. Trouble-free in the user's environment.
  43.  
  44. The user should thoroughly test the application in his/her normal    
  45. operating enviroment PRIOR to running this application along            
  46. with any critical applications and data.                    
  47.                         
  48. ========================================================================
  49.                                                     MAIN PROGRAM PURPOSE
  50. ========================================================================
  51. Much more important than the application is the experience this program has
  52. provided for learning how to program the Mac.
  53.  
  54. With the fully commented source code I've provided for many of the difficult to
  55. learn features of programming the Macintosh.  A partial list is given below:
  56.  
  57. 1) Using modules in THINK C to break the code into modules.  Smaller
  58.    modules are easier to maintain.  The present program is broken into 3 parts   
  59.    and uses a 'resource' file to hold menu, dialog and other information.
  60.  
  61. 2) Segmentation of code in THINK C to allow for larger programs than
  62.    32K.  Within the THINK environment the application much be split into
  63.    two segments to run.
  64.  
  65. 3) Growing, Zooming and moving a window.
  66.  
  67. 4) Multiple window management.
  68.  
  69. 5) Saving a picture of QuickDraw commands for a drawing window, so the system
  70.    will automatically update the window's picture when resized or obscured by a
  71.    dialog or alert box.
  72.  
  73.    Utilities included are:
  74.  
  75.      procedure StartPic;      {start saving QuickDraw format of window into a picture}
  76.      procedure StopPic;            {stop saving into a picture record}
  77.      procedure SuspendPic;    {temporarily suspend picture copying}
  78.      procedure ResumePic;        {resume recording of QuickDraw commands into picture}
  79.  
  80. 6) Use of a 'resource file' to define menus, dialogs and alerts.
  81.  
  82. 7) How to open dialogs and alerts in an application.
  83.  
  84. 8) How to use an application specific menu to activate the application's         
  85.    functions.
  86.  
  87. 9) How to select a file name from an HFS volume to perform an action on it.
  88.  
  89. 10) How to read and write from TEXT files.
  90.  
  91. 11) How to use different cursors within your application and how to determine
  92.     when to change the cursor to another one based on the cursor position in 
  93.     the window.
  94.  
  95. 12) How to properly enable and disable MENU items in different parts of the
  96.     application.
  97.  
  98. 13) How to activate DAs and allow them to run on top of the application.
  99.  
  100. AND THE LIST IS GROWING!
  101.  
  102. ===================================================================
  103.     IFS Decompression  version 2.1  February 17,1990
  104. ===================================================================
  105. A ShareWare Application/Source Code program written in THINK C
  106. by Stephen Scandalis.
  107.  
  108. The source code of the application can be modified and used like a
  109. 'shell' program with many user interface features already present and 
  110. worked out for the programmer.
  111.  
  112. Thanks to Tim SOS (G.SOS on GEnie) for some of the IFS data files
  113. distributed with this package. 
  114.  
  115. MAJOR ADDITIONS SINCE VERSION 1.032/1.2 RELEASE
  116.     
  117.     • Bit map images of windows are saved after an image is drawn. This
  118.       feature only works on the Mac Plus (and probably Mac SE) but is
  119.       disabled on the Mac II (it causes a system crash).
  120.       
  121.     • Added an ERASE item to the CONTROL menu which allow you to 
  122.       turn off the erasing of the screen between each redraw, this
  123.       allows you to create composite images using different parameters.
  124.       
  125.     • Added a check for a disk insert event during the main event loop
  126.       processing.  This allows handling of bad or unformatted disks
  127.       at the time of insertion.
  128.       
  129.     • Still better MultiFinder support.
  130.       
  131.     • Updated the HELP function to display screen numbers.
  132.       
  133.     • Added a simple Virus/Program Corruption checking routine.  This 
  134.       helps insure that the copy of the program you are running hasn't 
  135.       been messed with (maybe indicating the presence of a Virus).
  136.       
  137.     • Added color bit map image saving on-screen to restore image after
  138.       it is obscured.
  139.       
  140.     • Added feature to save color bit map window images for window
  141.       updating on Mac II's (ONLY =WITHOUT= 32 BIT COLOR QUICKDRAW INSTALLED)
  142.      
  143. MAJOR ADDITIONS SINCE VERSION 2.0 RELEASE
  144.  
  145.     • Updated program to run under THINK C 4.0
  146.     
  147.     • Added application icon for program and document files
  148.     
  149.     • Added version information which will show up with the Finder "Get Info.." command
  150.     
  151.     • Cleaned up the method of exiting program, makes sure DA's are closed
  152.       the right way.
  153.       
  154.     • Added several utility routines to the 'General Utilities.c' file,
  155.       which, while all may not be used in this program, are still usefull.
  156.  
  157.  
  158. ==================================================================
  159.         RUNNING IFS WITH THINK C OR LIGHTSPEED C
  160. ==================================================================
  161. A 'project' is provided for running with THINK C version 4.0 using
  162. the precompiled 'MacHeaders' file.  If running with LightSpeed C 3.xx you
  163. will need to create a new project and comment out/uncomment a couple of 
  164. lines near the top of each .c file.
  165.  
  166.  
  167. •    The program is broken into three main parts:
  168.  
  169.     1) IFS Main.c
  170.     2) IFS Utilities.c
  171.     3) General Utilities.c
  172.     
  173.     IFS Main.c
  174.         This routine contains the initialization code and the main
  175.         event loop.  Events are detected in this routine and passed
  176.         on to other routines for servicing as required.
  177.         
  178.     IFS Utilities.c
  179.         This routine contains application specific routines unique to
  180.         the IFS application. See the header in the file for more
  181.     information.
  182.         
  183.     General Utilities.c
  184.         The routine contains a collection of useful routines of general
  185.         interest to all programs.  They aren't specific to this
  186.        application and CAN BE REUSED for just about any other
  187.     application.
  188.                 
  189. =======================================================================
  190.                                                          MINI ADVERTISEMENT 
  191. =======================================================================
  192. Also look for other source code offerings through the ShareWare program.
  193. All source code includes extensive comments (Even I need them to remind
  194. me what I did a week earlier), resource files if used and complete ready to
  195. run projects to open from Lightspeed/THINK products. So far all programs are 
  196. suitable for use as application shells. Presently two ShareWare programs
  197. are available suitable for use as an application shell:
  198.  
  199. =======================================================================
  200. 'Text Convert'- $10 ShareWare  Current Versions are 2.1C and 1.5P
  201. =======================================================================
  202. Written in Lightspeed Pascal and THINK C - A simple application to 
  203. convert text file line endings to be Mac or IBM compatible. A nice shell 
  204. program with many Mac features ready to modify for your use. This one is
  205. nice for those of you learning THINK C who want some examples of
  206. a Pascal and 'C' program which do the same things.  The 'C' version was
  207. converted as closely as possible directly from the Pascal version.
  208. Having both helps to understand the conversion of the "Inside Macintosh"
  209. calls, which are written in Pascal. As of the date of this file the 
  210. versions available are 1.5P and 2.1C which work with Lightspeed Pascal
  211. 2.0 and THINK C 4.0
  212.  
  213. NOTE: After version 1.5P (for Pascal) changes have only been made to the
  214.       'C' version.  Therefore a few new features might not have Pascal
  215.       version counterparts.
  216. =======================================================================
  217.  
  218.  
  219. =======================================================================
  220.     'IFSv2.xx'- $15 ShareWare  Current Version is 2.1C
  221. =======================================================================
  222. Written in THINK C - A graphics program for decompressing a graphic
  223. picture stored in 'Iterated Function System' format. Supports original style
  224. 8 color operations (so it runs on Mac Plus, SE and II).  Included are a 
  225. normal Mac verison and a 68881 version to take advantage of the Mac II's
  226. floating point coprocessor to speed up the calculations.
  227.  
  228.   ** If you are mainly looking for a nice Shell program, this is my latest and
  229.   ** greatest, includes radio and check boxes, static text and edit items
  230.   ** inside a dialog to allow modification of program specific variables or
  231.   ** run time options. VERSION 1.2 AND ABOVE INCLUDE BIT MAP COPYING FEATURES 
  232.   ** FOR THE MAC PLUS.  VERSION 2.0 ADDED COLOR BIT MAP SAVING OF WINDOW IMAGE
  233.   ** FOR WINDOW UPDATING.
  234.  
  235. As of the date of this file the version available is 2.1 and works with 
  236. THINK C 4.0 and could PROBABLY be converted back to LSC 3.xx
  237. =======================================================================
  238.  
  239.  
  240. Both programs, while being useful and fun applications, are really ment to be
  241. application shells, complete with many Macintosh user interface features of 
  242. interest to many programs. Features include: menus control, multiple
  243. window operations, WindowPicture saving for automatic window 
  244. information upating, growing, zooming, text file loading and saving, DA 
  245. operation etc.
  246.  
  247. Look for the compiled applications on GEnie, CompuServe and the MacInfo BBS
  248. (415) 795-8862. Either program's source code may also be ordered for a ShareWare
  249. registration fee as specified below.  By honoring the ShareWare request for the
  250. source code, you will encourge further source code releases.  The fee is quite 
  251. modest given the benefit provided (savings of hundreds of hours in programming 
  252. time) and helps offset the programming time and connect charges incurred in
  253. providing these programs to the Macintosh community.
  254.  
  255. An added benefit of registration is that in many cases the Shareware registration
  256. fee is less than the connect and phone charges to obtain earlier, less capable,
  257. versions from CompuServe, GEnie and BBS boards.
  258.  
  259. If you would like to register your ShareWare support AND obtain the source
  260. code of the latest version of either program, please send $10 for 
  261. ‘Text Convert’ or $15 for 'IFS' (SPECIAL DEAL of $20 for both).
  262.   
  263.   Please specify which program you want, 'Text Convert' will be in
  264.   both Lightspeed Pascal and THINK C while 'IFSv2.xx' is available in 'C' only.
  265.  
  266.   REMEMBER: If you send $20, you'll get both programs!!
  267.  
  268.  P.S. For those who do not already have it, the source code for the program
  269.      'ShowOff' in Lightspeed Pascal and C is available as FREEWARE, in the 
  270.      Public Domain.  'ShowOff' is a debugging training exercise from the
  271.      book "How To Write Macintosh Software" by Scott Knaster.  You can
  272.      find the complete source code on Genie, CompuServe and on the MacInfo
  273.      BBS (415) 795-8862 or ask for it when you request my other programs.
  274.      
  275. =========================================================================
  276. If you have questions about something in the source code please contact me
  277. either at my home address or on GEnie or CompuServe (I only go out every
  278. couple of weeks, so the Electronic method may take awhile to receive an
  279. answer)
  280.  
  281. GEnie:         S.SCANDALIS
  282. CompuServe:    70167,2205  STEPHEN A. SCANDALIS
  283.  
  284. Armed with this source code a begining programmer should be able to strip
  285. 'IFS' specific code out and insert their own application specific code.
  286. It only takes a few hundred lines to actually perform the IFS graphic
  287. decompression.  The rest of the 2000+ lines of code implements the Macintosh
  288. user interface or allows modification of IFS equations (which can be easily
  289. modified for a new application).
  290.  
  291.  
  292. Happy Macing!,
  293.  
  294. Steve Scandalis
  295.                                              
  296.                                               
  297.  =========================================================================
  298.          IFS 2.xx and Text Convert 2.xC/1.5P Order Form                                              
  299.  =========================================================================
  300.   
  301.   ORDER FORM
  302.   
  303.   Name:            ________________________________________________
  304.   
  305.   Company:     ________________________________________________
  306.  
  307.   Address1: ________________________________________________
  308.   
  309.   Address2: ________________________________________________
  310.   
  311.   Address3: ________________________________________________
  312.   
  313.   City:         ________________________________________________
  314.   
  315.   State:         ________________________________________________
  316.   
  317.   
  318.   PROGRAM            Cost Each    Cost Times No. Ordered
  319.   
  320.   IFS                $15            _________
  321.   
  322.   Text Convert            $10            _________
  323.   
  324.   Discount for                (-$5)             (- _________)
  325.   ordering BOTH
  326.   
  327.   Shipping & Handling                
  328.   
  329.      USA    (included)    $0             _________
  330.          
  331.      Foreign            $2/program        _________
  332.          
  333.                          TOTAL    _________
  334.   
  335.   
  336.   Please send check (in US Funds) to:
  337.   
  338.                         Stephen Scandalis
  339.                           1414 Prince Edward Way
  340.                           Sunnyvale, CA 94087
  341.   
  342. =========================================================================
  343.